export default {
  // 此处编写的就是 vue组件实例的配置项，通过一定语法，可以直接混入组件内部
  // data methods computed 生命周期函数 ...
  // 注意点：1. 如果此处 和组件内，提供了同名的 data 或 methods ，则组件内优先级更高
  // 2. 如果编写了生命周期函数，则mixin内的生命周期函数和页面的生命周期函数，会用数组管理统一执行
  created () {
    // console.log('bdjf')
  },

  data () {
    return {
      title: '标题'
    }
  },

  methods: {
    sayHi () {
      // console.log('你好')
    },

    // 根据登陆状态，判断是否需要显示确认框
    // 1.未登录 -》 显示确认框  返回 true
    // 2.已登录 -> 啥也不干 返回 false
    // 加入购物车 判断是否是登录用户
    loginConfirm () {
      // 判断token是否存在
      // 1.若token不存在，弹出确认框
      // 2.如果token存在，继续请求操作
      if (!this.$store.getters.token) {
        // 弹出确认框
        this.$dialog.confirm({
          title: '温馨提示',
          message: '此时需要先登录才能继续操作',
          // 更改文本信息
          confirmButtonText: '去登陆',
          cancelButtonText: '再逛逛'
        })
          .then(() => {
          // 点击确定
          // 如果希望，跳转到登录 => 登录后能会跳回来，需要在跳转时，携带当前页面的路由信息（当前的路径地址）
          // this.$route.path()-> 不带参数的
          // this.$route.fullPath() -> 会包含查询参数
            this.$router.replace({
              path: '/login',
              // 额外添加一个查询参数
              query: {
                backUrl: this.$route.fullPath
              }
            })
          })
          .catch(() => {
          // 点击取消
          })
        // console.log('弹出')
        return true
      }
      return false
    }

  }
}
